package com.todo.demo.Service.impl;

import com.github.pagehelper.PageHelper;
import com.todo.demo.Dao.WebDao;
import com.todo.demo.Model.*;
import com.todo.demo.Service.WebService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@Service(value = "webService")
public class WebServiceImpl implements WebService {
    @Autowired
    private WebDao webDao;//这里会报错，但是并不会影响

//    @Override
//    public List<HashMap<String, Object>> getAllPlanWithTask(int pageNum, int pageSize) {
//
//        List<HashMap<String, Object>> list = new ArrayList<>();
//
//        List<PlanWithTask> planList = webDao.getAllPlanWithTask(pageNum,pageSize);
//
//        for (int i = 0; i < planList.size(); i++) {
//            HashMap<String, Object> map = new HashMap<>();
//            map.put("plan", planList.get(i));
//
//            UserIdAndPlanId userIdAndPlanId1 = new UserIdAndPlanId();
//            userIdAndPlanId1.setPlanId(planList.get(i).getPlan_id());
//            List<Task> taskList = webDao.finTaskByPlanId(userIdAndPlanId1);
//            map.put("task", taskList);
//
//            list.add(map);
//        }
//
//        return list;
//    }

    @Override
    public List<UserWithPlan> getAllPlan(int pageNum, int pageSize) {
        //将参数传给这个方法就可以实现物理分页了，非常简单。
        PageHelper.startPage(pageNum, pageSize);
        return webDao.findAllPlan(pageNum, pageSize);
    }

    @Override
    public Long findAllPlanCount() {
        //将参数传给这个方法就可以实现物理分页了，非常简单。
        return webDao.findAllPlanCount();
    }

    @Override
    public List<Task> getTaskByPlanId(long planId) {
        //将参数传给这个方法就可以实现物理分页了，非常简单。
//        PageHelper.startPage(pageNum, pageSize);
        return webDao.getTaskByPlanId(planId);
    }

    @Override
    public List<MsgLog> getMsgLog(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        return webDao.getMsgLog(pageNum, pageSize);
    }

    @Override
    public long getMsgLogCount() {
        return webDao.getMsgLogCount();
    }

    @Override
    public Long findhuoyuePlanCount() {
        return webDao.findhuoyuePlanCount();
    }

    public List<UserWithPlan> findhuoyuePlan(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        return webDao.findhuoyuePlan(pageNum, pageSize);
    }


}